package com.ccp.dev.workflow.dao;

import com.ccp.dev.core.basic.base.IBaseMapper;
import com.ccp.dev.workflow.bpminterface.IActDefMapper;
import com.ccp.dev.workflow.model.BpmNodeRule;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * ClassDescribe:
 * 流程跳转规则数据交换层
 * @author :wangcheng
 * Date: 2019-07-08
 */
@Repository
public interface BpmNodeRuleDao extends IBaseMapper<BpmNodeRule, String>, IActDefMapper {
    /**
     * 根据流程定义id和节点id获取跳转规则列表
     * @param procDefId 流程定义id
     * @param nodeId 节点id
     * @return 跳转规则列表
     */
    List<BpmNodeRule> getByProcDefIdNodeId(@Param("procDefId") String procDefId, @Param("nodeId") String nodeId);

    /**
     * 对跳转规则进行排序
     * @param ruleId 规则id
     * @param priority 排序序号
     */
    void reSort(@Param("ruleId") String ruleId, @Param("priority") long priority);

    /**
     * 根据流程定义id获取跳转规则列表
     * @param procDefId
     * @return
     */
    List<BpmNodeRule> queryByProcDefId(String procDefId);
}
